package com.zdkj.subway.stm.entity;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.zdkj.common.core.entity.BaseEntity;
import com.zdkj.subway.stm.util.LocalDateTimeConverter;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;

/**
 * 特殊工作卡申请信息表
 *
 * @author cuilei
 * @date 2020-05-26 10:48:18
 */
@Data
@TableName("sw_st_special_card_apply")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "特殊工作卡申请信息表")
public class SwStSpecialCardApply extends BaseEntity<SwStSpecialCardApply> {
    private static final long serialVersionUID = 1L;

    /**
     * 唯一标识
     */
    @TableId
    @ApiModelProperty(value = "唯一标识")
    @ExcelIgnore
    private Integer id;
    /**
     * 线路编码
     */
    @ApiModelProperty(value = "线路编码")
    @ExcelIgnore
    private String lineCode;
    /**
     * 车站编码
     */
    @ApiModelProperty(value = "车站编码")
    @ExcelIgnore
    private String stationCode;
    /**
     * 申请人
     */
    @ApiModelProperty(value = "申请人")
    @ExcelProperty(value = "申请人")
    private String applyPersonName;
    /**
     * 申请人工号
     */
    @ApiModelProperty(value = "申请人工号")
    @ExcelProperty(value = "申请人工号")
    private String applyPersonCode;
    /**
     * 申请数量
     */
    @ApiModelProperty(value = "申请数量")
    @ExcelProperty(value = "申请数量")
    private Integer applyCount;
    /**
     * 申请原因
     */
    @ApiModelProperty(value = "申请原因")
    @ExcelProperty(value = "申请原因")
    private String applyReason;
    /**
     * 申请时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "申请时间")
    @ExcelProperty(value = "申请时间", converter = LocalDateTimeConverter.class)
    private LocalDateTime applyTime;
    /**
     * 提交状态:0:未提交;1:已提交
     */
    @ApiModelProperty(value = "提交状态:0:未提交;1:已提交")
    @ExcelIgnore
    private String submitStatus;
    /**
     * 审核状态 0:待审核;1:审核通过;2:审核不通过
     */
    @ApiModelProperty(value = "审核状态 0:待审核;1:审核通过;2:审核不通过")
    @ExcelIgnore
    private String checkStatus;
    /**
     * 审核人工号
     */
    @ApiModelProperty(value = "审核人工号")
    @ExcelProperty(value = "审核人工号")
    private String checkPersonCode;
    /**
     * 审核人
     */
    @ApiModelProperty(value = "审核人")
    @ExcelProperty(value = "审核人")
    private String checkPersonName;
    /**
     * 审核时间
     */
    @ApiModelProperty(value = "审核时间")
    @ExcelProperty(value = "审核时间", converter = LocalDateTimeConverter.class)
    private LocalDateTime checkTime;
    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    @ExcelProperty(value = "备注")
    private String remark;


    /**
     * 申请时间
     */
    @ApiModelProperty(value = "申请时间 yyyy-MM-dd")
    @TableField(exist = false)
    private String applyTimeDTO;
}
